package com.p04.study2;

/**
 *  接口是不能被实例化的，只能实例化它的实现类
 * 接口中也可以有属性和方法
 * 但是 在接口中 属性必须是public的 和 final 的属性
 * 接口中所有的属性都必须是public
 *  默认就是 final
 * */
public interface IA {
    //在接口中属性默认就是final
    /**
     * 接口中的属性都是 static final的原因
     * 接口其实就是一个规范（大家都要遵守的）
     */
    public static final int NUM=10;

    /**
     * 在接口中可有抽象方法
     */
    public  void test();

    /**
     * 在jdk1.8 以前 接口中所有的方法都是抽象方法
     * 但是在jdk1.8以后，加入一些新的特性，在接口可以有实现的方法
     * 但是 该方法必须由 default关键字来修饰
     * 在接口中可有
     */
    public default void test2(){
         System.out.println("接口中实现的方法 ");
     }

    /**
     * 在jdk1.8一会 可以有实现的静态方法
     * 接口中有
     */
    public static void test3(){
        System.out.println("接口中实现的static方法 ");
    }


}
